From 8ee550dbe090e3de6d28e49478ea4ed65276b0b2 Mon Sep 17 00:00:00 2001 From: "emellor@leeni.uk.xensource.com" Date: Sat, 4 Mar 2006 19:15:36 +0100 Subject: [PATCH] Allow callers to XendClient.xend_list_domains to specify the detail flag, and turn detail off when doing vcpu-list. This avoids calls to xenstore just to get the list of domains for the vcpu-list call, significantly increasing performance of that command on loaded systems. Closes bug #545. Signed-off-by: Ewan Mellor --- tools/python/xen/xend/XendClient.py | 5 +++-- tools/python/xen/xm/main.py | 6 ++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/tools/python/xen/xend/XendClient.py b/tools/python/xen/xend/XendClient.py index 920f4fa184..a9ba299cd0 100644 --- a/tools/python/xen/xend/XendClient.py +++ b/tools/python/xen/xend/XendClient.py @@ -196,8 +196,9 @@ class Xend: def xend_domains(self): return self.xendGet(self.domainurl()) - def xend_list_domains(self): - return self.xendGet(self.domainurl(), {'detail': '1'}) + def xend_list_domains(self, detail = True): + return self.xendGet(self.domainurl(), + {'detail': detail and '1' or '0'}) def xend_domain_vcpuinfo(self, dom): return self.xendGet(self.domainurl(dom), {'op': 'vcpuinfo'}) diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 23d1beeb8b..7eaf798ec8 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -396,10 +396,8 @@ def xm_vcpu_list(args): if args: dominfo = map(server.xend_domain_vcpuinfo, args) else: - doms = server.xend_list_domains() - dominfo = map( - lambda x: server.xend_domain_vcpuinfo(sxp.child_value(x, 'name')), - doms) + doms = server.xend_list_domains(False) + dominfo = map(server.xend_domain_vcpuinfo, doms) print 'Name ID VCPU CPU State Time(s) CPU Affinity' -- 2.30.2